package com.insurance.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.insurance.common.utils.PageUtils;
import com.insurance.entity.AuthenticationUserEntity;

import java.util.List;
import java.util.Map;

/**
 * 统一认证用户
 *
 * @author hikari
 * @email devilzwy@gmail.com
 * @date 2020-12-05 15:46:35
 */
public interface AuthenticationUserService extends IService<AuthenticationUserEntity> {

    PageUtils queryPage(Map<String, Object> params, QueryWrapper<AuthenticationUserEntity> queryWrapper);

    QueryWrapper<AuthenticationUserEntity> getQueryWrapper(AuthenticationUserEntity authenticationUserEntity);

    /**
     * 通过用户名查询用户
     *
     * @param userName 用户名
     * @param appId 来源
     * @return
     */
    AuthenticationUserEntity findByUserName(String userName, String appId);

    /**
     * 通过用户名和appId查询用户集合
     *
     * @param userName 用户名
     * @param appId appId
     * @return
     */
    List<AuthenticationUserEntity> findByUserNameList(String userName, String appId);

    /**
     * 通过手机号查询用户
     *
     * @param phoneNumber 手机号
     * @param appId 来源
     * @return
     */
    AuthenticationUserEntity findByPhoneNumber(String phoneNumber, String appId);

    /**
     * 通过手机号查询用户集合
     * 
     * @param phoneNumber 手机号
     * @param appId 来源
     * @return
     */
    List<AuthenticationUserEntity> findListByPhoneNumber(String phoneNumber, String appId);

}

